// -----------------------------
// Author: 		Dhaenens Gert 
// Creation: 	8/6/2013 10:08:21 PM				
// -----------------------------

#ifndef _LuaDataType_h
#define _LuaDataType_h

namespace ObjectLua
{

	class Lua;

	/*
	//	Used to easily
	//	push and get certain types
	//	of data from the stack
	*/
	template<typename T>
	class LuaDataType
	{
	public:
		typedef T	ArgType;

		/*
		//	Push this data type onto the stack
		*/
		static void	push(Lua* lpLua, T data);
		/*
		//	Get this data type from the stack
		*/
		static T	get(Lua* lpLua, int idx);
	};

}

#include "LuaDataType.inl"

#endif